import jwt from 'jsonwebtoken'
// 安全性 编码的时候加密
// 解码的时候用于解密
// 加盐
const secret = '!&123fogletter'

// login 模块 mock
export default [
    {
        url: '/api/login',
        method: 'post',
        timeout: 2000, // 请求耗时
        response: ( req, res ) => {
            // req, username,password
            const { username, password } = req.body
            if (username === 'admin' && password === '123456') {
                // 生成token 颁发令牌  pnpm i jsonwebtoken
                // json 用户数据
                const token = jwt.sign({
                    user: {
                        id: '001',
                        username: 'admin',
                    }
                },secret,{
                    expiresIn: 86400,
                })
                return {
                    code: 0,
                    msg: '登录成功',
                    token,
                    data: {
                        id: '001',
                        username: 'admin',
                    }
                }
            }
            return {
                code: 1,
                msg: '登录失败',
            }
        },
    },
    {
        url: '/api/user',
        method: 'get',
        timeout: 2000, // 请求耗时
        response: ( req, res ) => {
            // 用户端 token headers
            const token = req.headers['authorization'].split(' ')[1];
            console.log(token)
            try{
                const decode = jwt.decode(token, secret)
                return {
                    code: 0,
                    msg: '获取用户信息成功',
                    data: decode.user,
                }
            }catch(err){
                return {
                    code: 1,
                    msg: 'token 无效',
                }
            }
        },
    }
]